package com.shop.cereshop.app.tencent.im.model.redpacket;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Entity;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @description: 红包金额分配表
 * @author zdd
 * @date 2025/9/3 14:30
 * @version 1.0
 */
@Entity
@TableName("cere_red_packet_allocation")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RedPacketAllocation implements Serializable {

    private static final long serialVersionUID = 1L;

    /** ID */
    @Id
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 红包ID */
    private String packetId;

    /** 子红包分配编号（红包内唯一，格式：packet_id_序号，如RP20250905001_001） */
    private String allocationNo;

    /** 预分配金额（单位：元，与cere_red_packet_receive_record.amount对应） */
    private BigDecimal amount;

    /** 是否手气最佳：0-否 1-是（仅拼手气红包有效）*/
    private Integer isLuckiest;

//    /** 关联领取记录ID（领取后更新，关联cere_red_packet_receive_record.id；未领取为NULL） */
//    private String receiveRecordId;

    /** 领取状态：0-未领取 1-已领取 2-已过期未领取 */
    private Integer receiveStatus;

    /** 金额分配时间（即红包创建时间，与主表create_time一致） */
    private LocalDateTime allocationTime;

}
